package com.baosight.sczx.zm.cm.domain;

import java.util.HashMap;
import java.util.Map;

import com.baosight.iplat4j.core.ei.EiColumn;
import com.baosight.iplat4j.ep.DaoEPBase;
import com.baosight.iplat4j.util.NumberUtils;
import com.baosight.iplat4j.util.StringUtils;

public class ZMCMTeamPlanQueryBean extends DaoEPBase 
{
	private String fdKeyId = " "; /* 主键 */
	private String fdYear = " "; /* 年份 */
	private String fdMonth = " "; /* 月份 */
	private String fdApplicationDeparment = " "; /* 申请单位 */
	private String fdPlanType = " "; /* 计划类别 */
	private String fdPlanStatus = " "; /* 计划状态 */
	private String fdTypeCode = " "; /* 类别编码 */
	private String fdTypeName = " "; /* 类别名称 */
	
	private String fdMaterialId = " "; /* 物资ID */
	private String fdMaterialCode = " "; /* 物资编码 */
	private String fdMaterialName = " "; /* 物资名称 */
	private String fdMaterialType = " "; /* 物资类型 */
	private String fdFinanceClassify = " "; /* 资金分类 */
	private String fdSpecModel = " "; /* 规格型号 */
	private String fdMetric = " "; /* 计量单位 */
	private Double fdPurchaseNum = new Double(0); /* 审核数量 */
	private Double fdSum = new Double(0); /* 金额 */
	private String fdParameter = " "; /* 技术指标 */
	private String fdProjectname = " "; /* 生产工程名称 */
	private String fdProjectId = " "; /* 工程主键 */
	private String fdRequireDate = " "; /* 使用日期 */
	private Double fdPrice = new Double(0); /* 单价 */

	/**
	 * initialize the metadata
	 */
	public void initMetaData() {
		EiColumn eiColumn;

		eiColumn = new EiColumn("fdKeyId");
		eiColumn.setPrimaryKey(true);
		eiColumn.setFieldLength(32);
		eiColumn.setDescName("主键");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdYear");
		eiColumn.setFieldLength(4);
		eiColumn.setDescName("年份");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdMonth");
		eiColumn.setFieldLength(2);
		eiColumn.setDescName("月份");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdApplicationDeparment");
		eiColumn.setFieldLength(32);
		eiColumn.setDescName("申请单位");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdPlanType");
		eiColumn.setFieldLength(32);
		eiColumn.setDescName("计划类别");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdPlanStatus");
		eiColumn.setFieldLength(10);
		eiColumn.setDescName("计划状态");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdTypeCode");
		eiColumn.setFieldLength(10);
		eiColumn.setDescName("类别编码");
		eiMetadata.addMeta(eiColumn);
		
		eiColumn = new EiColumn("fdTypeName");
		eiColumn.setFieldLength(10);
		eiColumn.setDescName("类别名称");
		eiMetadata.addMeta(eiColumn);
		
		eiColumn = new EiColumn("fdMaterialId");
		eiColumn.setFieldLength(32);
		eiColumn.setDescName("物资ID");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdMaterialCode");
		eiColumn.setFieldLength(30);
		eiColumn.setDescName("物资编码");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdMaterialName");
		eiColumn.setFieldLength(80);
		eiColumn.setDescName("物资名称");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdMaterialType");
		eiColumn.setFieldLength(32);
		eiColumn.setDescName("物资类型");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdFinanceClassify");
		eiColumn.setFieldLength(32);
		eiColumn.setDescName("资金分类");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdSpecModel");
		eiColumn.setFieldLength(50);
		eiColumn.setDescName("规格型号");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdMetric");
		eiColumn.setFieldLength(32);
		eiColumn.setDescName("计量单位");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdPurchaseNum");
		eiColumn.setType("N");
		eiColumn.setScaleLength(5);
		eiColumn.setFieldLength(15);
		eiColumn.setDescName("审核数量");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdSum");
		eiColumn.setType("N");
		eiColumn.setScaleLength(5);
		eiColumn.setFieldLength(15);
		eiColumn.setDescName("金额");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdParameter");
		eiColumn.setFieldLength(200);
		eiColumn.setDescName("技术指标");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdProjectname");
		eiColumn.setFieldLength(80);
		eiColumn.setDescName("生产工程名称");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdProjectId");
		eiColumn.setFieldLength(32);
		eiColumn.setDescName("工程主键");
		eiMetadata.addMeta(eiColumn);

		eiColumn = new EiColumn("fdRequireDate");
		eiColumn.setFieldLength(10);
		eiColumn.setDescName("使用日期");
		eiMetadata.addMeta(eiColumn);

		// 添加字段
		eiColumn = new EiColumn("fdPrice");
		eiColumn.setType("N");
		eiColumn.setScaleLength(5);
		eiColumn.setFieldLength(15);
		eiColumn.setDescName("单价");
		eiMetadata.addMeta(eiColumn);
	}

	/**
	 * the constructor
	 */
	public ZMCMTeamPlanQueryBean() {
		initMetaData();
	}

	/**
	 * get the fdKeyId - 主键
	 * 
	 * @return the fdKeyId
	 */
	public String getFdKeyId() {
		return this.fdKeyId;
	}

	/**
	 * set the fdKeyId - 主键
	 */
	public void setFdKeyId(String fdKeyId) {
		this.fdKeyId = fdKeyId;
	}

	/**
	 * get the fdYear - 年份
	 * 
	 * @return the fdYear
	 */
	public String getFdYear() {
		return this.fdYear;
	}

	/**
	 * set the fdYear - 年份
	 */
	public void setFdYear(String fdYear) {
		this.fdYear = fdYear;
	}

	/**
	 * get the fdMonth - 月份
	 * 
	 * @return the fdMonth
	 */
	public String getFdMonth() {
		return this.fdMonth;
	}

	/**
	 * set the fdMonth - 月份
	 */
	public void setFdMonth(String fdMonth) {
		this.fdMonth = fdMonth;
	}

	/**
	 * get the fdApplicationDeparment - 申请单位
	 * 
	 * @return the fdApplicationDeparment
	 */
	public String getFdApplicationDeparment() {
		return this.fdApplicationDeparment;
	}

	/**
	 * set the fdApplicationDeparment - 申请单位
	 */
	public void setFdApplicationDeparment(String fdApplicationDeparment) {
		this.fdApplicationDeparment = fdApplicationDeparment;
	}

	/**
	 * get the fdPlanType - 计划类别
	 * 
	 * @return the fdPlanType
	 */
	public String getFdPlanType() {
		return this.fdPlanType;
	}

	/**
	 * set the fdPlanType - 计划类别
	 */
	public void setFdPlanType(String fdPlanType) {
		this.fdPlanType = fdPlanType;
	}

	/**
	 * get the fdPlanStatus - 计划状态
	 * 
	 * @return the fdPlanStatus
	 */
	public String getFdPlanStatus() {
		return this.fdPlanStatus;
	}

	/**
	 * set the fdPlanStatus - 计划状态
	 */
	public void setFdPlanStatus(String fdPlanStatus) {
		this.fdPlanStatus = fdPlanStatus;
	}
	
	/**
	 * get the fdTypeCode - 类别编码
	 * 
	 * @return the fdTypeCode
	 */
	public String getFdTypeCode() {
		return this.fdTypeCode;
	}

	/**
	 * set the fdTypeCode - 类别编码
	 */
	public void setFdTypeCode(String fdTypeCode) {
		this.fdTypeCode = fdTypeCode;
	}

	/**
	 * get the fdTypeName - 类别名称
	 * 
	 * @return the fdTypeName
	 */
	public String getFdTypeName() {
		return this.fdTypeName;
	}

	/**
	 * set the fdTypeName - 类别名称
	 */
	public void setFdTypeName(String fdTypeName) {
		this.fdTypeName = fdTypeName;
	}

	/**
	 * get the fdMaterialId - 物资ID
	 * 
	 * @return the fdMaterialId
	 */
	public String getFdMaterialId() {
		return this.fdMaterialId;
	}

	/**
	 * set the fdMaterialId - 物资ID
	 */
	public void setFdMaterialId(String fdMaterialId) {
		this.fdMaterialId = fdMaterialId;
	}

	/**
	 * get the fdMaterialCode - 物资编码
	 * 
	 * @return the fdMaterialCode
	 */
	public String getFdMaterialCode() {
		return this.fdMaterialCode;
	}

	/**
	 * set the fdMaterialCode - 物资编码
	 */
	public void setFdMaterialCode(String fdMaterialCode) {
		this.fdMaterialCode = fdMaterialCode;
	}

	/**
	 * get the fdMaterialName - 物资名称
	 * 
	 * @return the fdMaterialName
	 */
	public String getFdMaterialName() {
		return this.fdMaterialName;
	}

	/**
	 * set the fdMaterialName - 物资名称
	 */
	public void setFdMaterialName(String fdMaterialName) {
		this.fdMaterialName = fdMaterialName;
	}

	/**
	 * get the fdMaterialType - 物资类型
	 * 
	 * @return the fdMaterialType
	 */
	public String getFdMaterialType() {
		return this.fdMaterialType;
	}

	/**
	 * set the fdMaterialType - 物资类型
	 */
	public void setFdMaterialType(String fdMaterialType) {
		this.fdMaterialType = fdMaterialType;
	}

	/**
	 * get the fdFinanceClassify - 资金分类
	 * 
	 * @return the fdFinanceClassify
	 */
	public String getFdFinanceClassify() {
		return this.fdFinanceClassify;
	}

	/**
	 * set the fdFinanceClassify - 资金分类
	 */
	public void setFdFinanceClassify(String fdFinanceClassify) {
		this.fdFinanceClassify = fdFinanceClassify;
	}

	/**
	 * get the fdSpecModel - 规格型号
	 * 
	 * @return the fdSpecModel
	 */
	public String getFdSpecModel() {
		return this.fdSpecModel;
	}

	/**
	 * set the fdSpecModel - 规格型号
	 */
	public void setFdSpecModel(String fdSpecModel) {
		this.fdSpecModel = fdSpecModel;
	}

	/**
	 * get the fdMetric - 计量单位
	 * 
	 * @return the fdMetric
	 */
	public String getFdMetric() {
		return this.fdMetric;
	}

	/**
	 * set the fdMetric - 计量单位
	 */
	public void setFdMetric(String fdMetric) {
		this.fdMetric = fdMetric;
	}


	/**
	 * get the fdPurchaseNum - 审核数量
	 * 
	 * @return the fdPurchaseNum
	 */
	public Double getFdPurchaseNum() {
		return this.fdPurchaseNum;
	}

	/**
	 * set the fdPurchaseNum - 审核数量
	 */
	public void setFdPurchaseNum(Double fdPurchaseNum) {
		this.fdPurchaseNum = fdPurchaseNum;
	}

	/**
	 * get the fdSum - 金额
	 * 
	 * @return the fdSum
	 */
	public Double getFdSum() {
		return this.fdSum;
	}

	/**
	 * set the fdSum - 金额
	 */
	public void setFdSum(Double fdSum) {
		this.fdSum = fdSum;
	}

	/**
	 * get the fdParameter - 技术指标
	 * 
	 * @return the fdParameter
	 */
	public String getFdParameter() {
		return this.fdParameter;
	}

	/**
	 * set the fdParameter - 技术指标
	 */
	public void setFdParameter(String fdParameter) {
		this.fdParameter = fdParameter;
	}

	/**
	 * get the fdProjectname - 生产工程名称
	 * 
	 * @return the fdProjectname
	 */
	public String getFdProjectname() {
		return this.fdProjectname;
	}

	/**
	 * set the fdProjectname - 生产工程名称
	 */
	public void setFdProjectname(String fdProjectname) {
		this.fdProjectname = fdProjectname;
	}

	/**
	 * get the fdProjectId - 工程主键
	 * 
	 * @return the fdProjectId
	 */
	public String getFdProjectId() {
		return this.fdProjectId;
	}

	/**
	 * set the fdProjectId - 工程主键
	 */
	public void setFdProjectId(String fdProjectId) {
		this.fdProjectId = fdProjectId;
	}

	/**
	 * get the fdRequireDate - 使用日期
	 * 
	 * @return the fdRequireDate
	 */
	public String getFdRequireDate() {
		return this.fdRequireDate;
	}

	/**
	 * set the fdRequireDate - 使用日期
	 */
	public void setFdRequireDate(String fdRequireDate) {
		this.fdRequireDate = fdRequireDate;
	}

	// 添加字段

	/**
	 * get the fdPrice - 单价
	 * 
	 * @return the fdPrice
	 */
	public Double getFdPrice() {
		return this.fdPrice;
	}

	/**
	 * set the fdApplicationNum - 单价
	 */
	public void setFdPrice(Double fdPrice) {
		this.fdPrice = fdPrice;
	}

	/**
	 * get the value from Map
	 */
	@SuppressWarnings("rawtypes")
	public void fromMap(Map map) {

		setFdKeyId(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdKeyId")), fdKeyId));
		setFdYear(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdYear")), fdYear));
		setFdMonth(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdMonth")), fdMonth));
		setFdApplicationDeparment(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdApplicationDeparment")), fdApplicationDeparment));
		setFdPlanType(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdPlanType")), fdPlanType));
		setFdPlanStatus(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdPlanStatus")), fdPlanStatus));
		setFdTypeCode(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdTypeCode")), fdTypeCode));
		setFdTypeName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdTypeName")), fdTypeName));
		
		setFdMaterialId(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdMaterialId")), fdMaterialId));
		setFdMaterialCode(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdMaterialCode")), fdMaterialCode));
		setFdMaterialName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdMaterialName")), fdMaterialName));
		setFdTypeCode(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdTypeCode")), fdTypeCode));
		setFdTypeName(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdTypeName")), fdTypeName));
		setFdMaterialType(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdMaterialType")), fdMaterialType));
		setFdFinanceClassify(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdFinanceClassify")), fdFinanceClassify));
		setFdSpecModel(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdSpecModel")), fdSpecModel));
		setFdMetric(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdMetric")), fdMetric));
		setFdPurchaseNum(NumberUtils.toDouble(StringUtils.toString(map.get("fdPurchaseNum")), fdPurchaseNum));
		setFdSum(NumberUtils.toDouble(StringUtils.toString(map.get("fdSum")), fdSum));
		setFdParameter(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdParameter")), fdParameter));
		setFdProjectname(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdProjectname")), fdProjectname));
		setFdProjectId(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdProjectId")), fdProjectId));
		setFdRequireDate(StringUtils.defaultIfEmpty(StringUtils.toString(map.get("fdRequireDate")), fdRequireDate));
		setFdPrice(NumberUtils.toDouble(StringUtils.toString(map.get("fdPrice")), fdPrice));
	}

	/**
	 * set the value to Map
	 */
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public Map toMap() {

		Map map = new HashMap();
		map.put("fdKeyId", StringUtils.toString(fdKeyId, eiMetadata.getMeta("fdKeyId")));
		map.put("fdYear", StringUtils.toString(fdYear, eiMetadata.getMeta("fdYear")));
		map.put("fdMonth", StringUtils.toString(fdMonth, eiMetadata.getMeta("fdMonth")));
		map.put("fdApplicationDeparment", StringUtils.toString(fdApplicationDeparment, eiMetadata.getMeta("fdApplicationDeparment")));
		map.put("fdPlanType", StringUtils.toString(fdPlanType, eiMetadata.getMeta("fdPlanType")));
		map.put("fdPlanStatus", StringUtils.toString(fdPlanStatus, eiMetadata.getMeta("fdPlanStatus")));
		map.put("fdTypeCode", StringUtils.toString(fdTypeCode, eiMetadata.getMeta("fdTypeCode")));
		map.put("fdTypeName", StringUtils.toString(fdTypeName, eiMetadata.getMeta("fdTypeName")));
		
		map.put("fdMaterialId", StringUtils.toString(fdMaterialId, eiMetadata.getMeta("fdMaterialId")));
		map.put("fdMaterialCode", StringUtils.toString(fdMaterialCode, eiMetadata.getMeta("fdMaterialCode")));
		map.put("fdMaterialName", StringUtils.toString(fdMaterialName, eiMetadata.getMeta("fdMaterialName")));
		map.put("fdTypeCode", StringUtils.toString(fdTypeCode, eiMetadata.getMeta("fdTypeCode")));
		map.put("fdTypeName", StringUtils.toString(fdTypeName, eiMetadata.getMeta("fdTypeName")));
		map.put("fdMaterialType", StringUtils.toString(fdMaterialType, eiMetadata.getMeta("fdMaterialType")));
		map.put("fdFinanceClassify", StringUtils.toString(fdFinanceClassify, eiMetadata.getMeta("fdFinanceClassify")));
		map.put("fdSpecModel", StringUtils.toString(fdSpecModel, eiMetadata.getMeta("fdSpecModel")));
		map.put("fdMetric", StringUtils.toString(fdMetric, eiMetadata.getMeta("fdMetric")));
		map.put("fdPurchaseNum", StringUtils.toString(fdPurchaseNum, eiMetadata.getMeta("fdPurchaseNum")));
		map.put("fdSum", StringUtils.toString(fdSum, eiMetadata.getMeta("fdSum")));
		map.put("fdParameter", StringUtils.toString(fdParameter, eiMetadata.getMeta("fdParameter")));
		map.put("fdProjectname", StringUtils.toString(fdProjectname, eiMetadata.getMeta("fdProjectname")));
		map.put("fdProjectId", StringUtils.toString(fdProjectId, eiMetadata.getMeta("fdProjectId")));
		map.put("fdRequireDate", StringUtils.toString(fdRequireDate, eiMetadata.getMeta("fdRequireDate")));
		map.put("fdPrice", StringUtils.toString(fdPrice, eiMetadata.getMeta("fdPrice")));

		return map;
	}
}
